#include <iostream>
#include <D3D11EffectsLite.h>
#include <fstream>
#include <vector>

int main()
{
	const char *effectFile = "C:\\Development\\Graphics\\Effects11Lite\\Test\\fx_5_1.fxc";

	std::vector<char> effectBytes;

	// Open effect file
	{
		std::ifstream effectFile(effectFile, std::ios::binary | std::ios::in);

		// Get number of bytes
		effectFile.seekg(0, std::ios::end);
		effectBytes.resize((size_t) effectFile.tellg());

		// Get bytes
		effectFile.seekg(0, std::ios::beg);
		effectFile.read(effectBytes.data(), effectBytes.size());
	}

	// Reflect effect
	{
		D3DEffectsLite::Reflection *reflection = D3DEffectsLite::ReflectEffect(effectBytes.data(), (UINT) effectBytes.size());

		if (reflection)
		{
			const D3DEffectsLite::EffectInfo &info = *reflection->GetInfo();

			reflection->Release();
		}
	}

	return 0;
}